home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 February / EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso / earcd / games / agplaptm.lha / AGPLapTime.doc < prev    next >
Text File  |  1995-12-07  |  19KB  |  477 lines

  1.  
  2.                              AGPLapTime 1.0
  3.  
  4.                                    by
  5.  
  6.                                 Rene Smit
  7.  
  8.                               November 1995
  9.  
  10.  
  11.  
  12. This document describes AGPLapTime, a utility with which you can log your
  13. races in World Circuit/Formula One Grandprix. This utility is freeware,
  14. sort of. So it's for free, but if you want to reward me for all the hard work
  15. I've put into it (and into SplitTime), I would be very happy to receive some
  16. money for it (cash), whatever amount and in whatever currency you like. It
  17. will encourage me to make more utilities for F1GP, and to improve the current
  18. ones.
  19.  
  20. Snail Mail:
  21.  
  22.         Rene Smit
  23.         Wenckebachstraat 42
  24.         2522 CL  The Hague
  25.         The Netherlands
  26.  
  27. I am a 6th year student Computer Science in Delft, but most of the time I am
  28. playing and hacking F1GP.
  29. You can find me in the Amiga F1GP Hall of Fame and PC F1GP/WC Hall of Fame
  30. under id RS, and in the Amiga F1GP Championship in team Nightmare on Pit Lane,
  31. together with my team mate Grant Reeve.
  32.  
  33. If you want to complain, ask questions or exchange deeper thoughts about
  34. AGPLapTime, SplitTime or F1GP feel free to e-mail me:
  35.  
  36. E-Mail:
  37.  
  38.         R.Smit@twi.tudelft.nl
  39.  
  40. WWW:
  41.         http://dutian.twi.tudelft/~smit/sdihome.html
  42.  
  43.  
  44. Disclaimer
  45. ==========
  46.  
  47. I hereby state that I am not responsible for any damage or loss of
  48. data, whether or not caused by using either AGPLapTime or AGPLap.
  49. If it crashes in the middle of an important race then that's not my
  50. responsibility. Please make sure it works properly on your system first.
  51. If you have any problems, try to run F1GP without AGPLapTime. If you're
  52. sure AGPLapTime causes problems for you please (e)mail me personally,
  53. and only me.
  54.  
  55.  
  56. Distribution
  57. ============
  58.  
  59. You may copy AGPLapTime to everyone as long as you copy the original
  60. lha file containing the following files:
  61.  
  62. - AGPLapTime            (c) 1995 Rene Smit
  63. - AGPLapTime.doc
  64. - AGPLapTime.doc.info
  65. - AGPLap                (c) 1995 Rene Smit
  66. - AGPLapMix             (c) 1995 Grant Reeve
  67. - AGPLapMix.doc
  68. - AGPLapMix.doc.info
  69. - libs/f1gp.library     (c) 1995 Oliver Roberts
  70.  
  71. The f1gp.library was made by Oliver Roberts. The version of the library
  72. included here is 35.1.
  73.  
  74. AGPLapMix was made by Grant Reeve.
  75.  
  76.  
  77.  
  78. What is AGPLapTime?
  79. ===================
  80.  
  81. AGPLapTime is a utility that logs interesting information while you're
  82. playing F1GP. Here is a quick list of most of the things that are logged:
  83.  
  84. - Laptimes:     Every time a car passes the start/finish line, the laptime and
  85.                 cumulative race time is logged, as well as the tyre grip.
  86. - Fastest laps: If the laptime improves the fastest lap of the session, the
  87.                 horsepower, opposition level, speed factor, frame rate and
  88.                 race distance (if it's a race) is logged.
  89. - Setup:        Front/rear wing, brake balance, gear ratio's, tyre compound,
  90.                 traction control on/off is logged.
  91. - Pitstops:     At each pitstop the damage and pitstop duration is logged.
  92.                 When leaving the pits, the tyre compound is logged.
  93. - Retirements:  If a car is involved in a fatal crash this is logged right
  94.                 away, as well as the yellow flag and car removal delays, and
  95.                 the position of the car.
  96.  
  97.  
  98. Besides the player's car, computer cars can be logged too, although they are
  99. not very interesting (unless you want to analyse their strategies while
  100. changing several settings in F1GP-Ed, for example).
  101. If only 1 player is being logged, the logfile will have the size of about 4Kb
  102. for a full-length race. With 25 computer cars as well, it will about 100Kb,
  103. but usually it's smaller.
  104.  
  105.  
  106. What is required?
  107. =================
  108.  
  109. - Any Amiga.
  110. - F1GP from Microprose, any version (European F1GP, World Circuit or the
  111.   A600 WWW version).
  112. - Oliver Roberts' f1gp.library, necessary for AGPLapTime to work.
  113.   f1gp.library is included with AGPLapTime in the directory 'libs'. You need
  114.   to copy the library to your libs: directory. If you already have one from
  115.   the latest f1gp-ed, you don't need to do that as the f1gp.library supplied
  116.   with f1gp-ed is always the same or newer as the one included here.
  117.  
  118.  
  119.  
  120.  
  121. Usage
  122. =====
  123.  
  124. AGPLapTime should be started from cli with the following synopsis:
  125.  
  126.   AGPLapTime [-w] [-c] [-b <bufsize>] [logfile]
  127.  
  128. (To keep it kickstart 1.3 compatible I haven't used ReadArgs).
  129. The options _cannot_ be concatenated (e.g. -wc).
  130.  
  131. By default, computer cars are not being logged. To turn this on, specify
  132. the '-c' option. Note that in multiplayer games a player's car controlled
  133. by the computer is not a computer car.
  134.  
  135. The '-b' option specifies how large the buffer for the logfile is. Because I
  136. can't write logged data to disk while you're in the cockpit I use a buffer.
  137. This buffer can be flushed to disk during F1GP menu interaction if you
  138. give it the flush command: ctrl-f. The buffer is flushed too if you quit
  139. AGPLapTime, either by giving the ctrl-c command, or by quitting F1GP.
  140. These commands can be given by pressing the corresponding key combination
  141. in the cli AGPLapTime is started from, or with a special program like 'break'
  142. in your c: directory (after finding out it's process number with 'status').
  143.  
  144. The default buffer size is about 10Kb. If the '-c' option is specified this
  145. default size is about 128Kb. People that are low on memory may have to
  146. specify a smaller buffer size with the '-b' option. The given size must be
  147. in kilobytes.
  148.  
  149. If the buffer overflows, there are no records logged anymore until the
  150. buffer is flushed. There will appear a message telling you that some records
  151. are lost if this happens, so make sure your buffer is big enough!
  152. After flushing the buffer it will always be empty again, unless an error
  153. occurred while trying to write to the file.
  154.  
  155. The default filename for the logfile is "agplap.log". You can specify a
  156. different name by just typing it on the command line (it may not start with
  157. a '-', or it will be interpreted as an option).
  158.  
  159. The '-w' option will enable automatic writing. Once you get out of the
  160. cockpit or you're in accelerated time, and this option is specified,
  161. AGPLapTime will write out (flush) the buffer to the logfile right away.
  162. For this option to work, you need at least v37 of the OS, so KS1.3 users
  163. can't use it (this is probably fixed in a next version).
  164. There won't appear a message that the buffer is saved, unless there was
  165. an error. Also, an empty buffer will be saved right away when AGPLapTime
  166. is started, to be able to start AGPLap with option '-w' after that too.
  167.  
  168.  
  169. Examples:
  170.  
  171.   AGPLaptime phoenix.log
  172.  
  173. will log only players' cars, with a 10Kb buffer which will be flushed to
  174. the file "phoenix.log".
  175.  
  176.   AGPLaptime -w -c -b100 imola_cc.log
  177.  
  178. will log all cars, with a 100Kb buffer which will be flushed to the file
  179. "imola_cc.log" automatically.
  180.  
  181.  
  182.  
  183.  
  184. How do I analyze the logfile?
  185. =============================
  186.  
  187. A seperate tool called AGPLap can be used to output the logfile in a human
  188. readable format. Call it from cli with the following synopsis:
  189.  
  190. Usage: AGPLap [-w] [-/+[H/C]slfpr] ... [<logfile>]
  191.  
  192. Everything between [] brackets is optional. All options are case insensitive.
  193. It may look a bit complex at first sight, but it isn't :). The options
  194. consist of three optional parts:
  195.  
  196.  
  197. [<logfile>]
  198. -----------
  199.  
  200. The default name for the logfile is "agplap.log". You can specify a different
  201. name on the commandline as long as it doesn't start with a '-' or a '+'.
  202.  
  203.  
  204. [-w]
  205. ----
  206.  
  207. The '-w' option will enable logfile notification and makes AGPLap wait
  208. forever after printing all log entries until ctrl-c is pressed. Whenever
  209. there are new entries written to the file, AGPLap will print them right away.
  210. This way you don't need to print the complete logfile every time you take a
  211. look during a race.
  212. This option can best be used in conjunction with the '-w' command of
  213. AGPLapTime: if you go into accelerated time you will see computer cars being
  214. logged (if enabled) straight away. Don't ask me of how much use this is, but
  215. I use this to test stuff.
  216.  
  217.  
  218. [-/+[H/C]slfpr] ...
  219. -------------------
  220.  
  221. This is the part that lets you select which entries you would like to see.
  222. Also, the '...' means you can specify it as many times as you like.
  223. It starts with either a '-' or a '+', then is optionally followed by a 'H'
  224. or a 'C', then followed by 0 or more of the characters 'slfpr'.
  225.  
  226. By default, all log entries are printed. A '-' option will then skip a
  227. certain type of entry. The options and entries are mapped as follows:
  228.  
  229. Option  Entry Type
  230.   s     setups
  231.   l     laptimes
  232.   f     fastest laps
  233.   p     pitstops
  234.   r     retirements
  235.  
  236. Also, an 'H' or 'C' can further specify entries. If the 'H' is specified,
  237. then the following options only affect human player cars. If the 'C is
  238. specified, then the following options only affect computer cars. If neither
  239. 'H' or 'C' is specified, then the following options will affect all cars.
  240.  
  241. If there appears a '+' option however, all entries will _not_ be printed,
  242. except all the specified ones, including the '-' options. So the '+' is
  243. dominant: once for a certain type of car (human or computer) a '+' option
  244. is specified, the '-' options will turn into '+' options for that type of
  245. car.
  246.  
  247.  
  248. Examples
  249. --------
  250.  
  251. +C              print human player entries only.
  252. -Hfs +Cpr       print all human players entries except fastest laps and
  253.                 setups, and also all computer pitstops and retirements.
  254. +lp             print all laptime and pitstop entries.
  255. +p -Cf          print all computer fastest laps, and pitstops of all cars.
  256. +               print nothing.
  257.  
  258.  
  259. Below is an example output:
  260.  
  261. Car Driver                 Lap CP TG LapTime  BestTime  SessionTime Difference
  262. ------------------------------------------------------------------------------
  263. Track 1: Phoenix, Race
  264. Setup [64/48]  14R  [26,32,39,45,51,57]  TC on; C-compound
  265. %39 Rene Smit                0 24 86 -:--.--- -:--.---  0h00m09.339 + 0:07.588
  266. Track 1: Phoenix, Race
  267. Setup [64/46]  12R  [27,33,39,45,51,57]  TC on; C-compound
  268. *38 Grant Reeve              0 26 86 -:--.--- -:--.---  0h00m10.343 + 0:08.592
  269. %38 Grant Reeve              1 12 88 1:32.123 1:32.123= 0h01m42.466 + 0:12.914
  270. *39 Rene Smit                1 21 88 1:46.394 1:46.394= 0h01m55.733 + 0:26.181
  271. *38 Grant Reeve              2 12 90 1:32.231 1:32.123  0h03m14.697 + 0:20.418
  272. %39 Rene Smit                2 22 90 Pits in  FW        0h03m48.073
  273. %39 Rene Smit                2 24 -- Pits out on C's    0h04m08.837 pit 20.764
  274. %38 Grant Reeve              3  8 92 1:26.362 1:26.362= 0h04m41.059 + 0:16.884
  275. *39 Rene Smit                3 24 88 -:--.--- 1:46.394  0h05m42.135 + 1:17.960
  276. *39 Rene Smit                4 24 -- Fatal crash    8%  0h05m50.992 0:03, 0:30
  277. %38 Grant Reeve              4  8 92 1:30.496 1:26.362  0h06m11.555 + 0:22.813
  278. *38 Grant Reeve              5  8 92 1:31.839 1:26.362  0h07m43.394 + 0:27.930
  279. *38 Grant Reeve              6  8 92 1:21.849 1:21.849! 0h09m05.243 + 0:26.661
  280. FL 1:21.849 Grant Reeve, Ace, 716 HP, SF 16384, FR 10.0, 100%
  281. *38 Grant Reeve              7 10 -- Fatal crash   35%  0h09m40.286 0:03, 0:30
  282.  
  283.  
  284. This logfile was made during a multiplayer game, and the computer cars were
  285. logged too, but have been filtered out here by using the '+C' option.
  286.  
  287. The top line tells you what each column means. This column layout refers to
  288. laptime entries but certain columns are related to some other entries too.
  289. This is what each column means:
  290.  
  291.   - Car         The car number.
  292.                 It is preceded by one of the following characters:
  293.                   . '*' if a player is in control of the car.
  294.                   . '%' if the computer has control of this player's car
  295.                         in multiplayer mode.
  296.                   . '#' if this is a computer car.
  297.  
  298.   - Driver      Driver name.
  299.   - Lap         Lap number. Races begin with lap 0 at the start.
  300.                 Other sessions start with lap number 1.
  301.   - CP          Car position. In non-race sessions this is the ranking in
  302.                 the fastest lap table (= grid position in qualify).
  303.   - TG          Tyre grip. See below.
  304.   - LapTime     Lap time. Is '-:--.---' on first lap out.
  305.   - BestTime    Best personal time in the session.
  306.   - SessionTime Session time. In the race, this is the exact race time which
  307.                 starts at the green light.
  308.   - Difference  In the race, this is the time difference between this car and
  309.                 the leader.
  310.  
  311.  
  312.  
  313.  
  314. Log Entries
  315. ===========
  316.  
  317. I will now explain each log entry type in detail with use of the example.
  318.  
  319.  
  320. Laptime, setup and fastest_lap entries
  321. ------------------------------------------
  322.  
  323. Everytime a car crosses the start/finish line a laptime entry is logged.
  324. If this is the first one in a session, a setup entry is logged as well.
  325. The following is printed in this case:
  326.  
  327. Track 1: Phoenix, Race
  328. Setup [64/48]  14R  [26,32,39,45,51,57]  TC on; C-compound
  329. %39 Rene Smit                0 24 86 -:--.--- -:--.---  0h00m09.339 + 0:07.588
  330.  
  331. It first prints the track name and session mode. The session mode is one of
  332. the following:
  333.  
  334.   - Practise Circuit
  335.   - Free Practice
  336.   - Qualifying
  337.   - Pre-Race Practice
  338.   - Race
  339.  
  340. The string ' (wet)' is added if it's a wet session (only for pre-race practise
  341. and race). 'Practise Circuit' stands for the 'Practise any circuit' option in
  342. the main menu. The race is either a quick race, a non-championship race or a
  343. championship race.
  344. It then prints the setup: front and rear wing, front or rear brake bias, gear
  345. ratio's, traction control (TC) on or off, and finally the used tyre compound.
  346. This tyre compound isn't always the same as selected in the garage, e.g. in
  347. non-race sessions this compound will be the one you selected from within the
  348. car. So, it's always the compound you're driving on at that moment.
  349.  
  350. A normal laptime entry will look like this:
  351.  
  352. %38 Grant Reeve              4  8 92 1:30.496 1:26.362  0h06m11.555 + 0:22.813
  353.  
  354. Here, a car just finishes lap 4 in position 8. The laptime is 1:30.496 and his
  355. personal best time is 1:26.362.
  356.  
  357. In case the car sets a best session time, a fastest_lap entry is logged:
  358.  
  359. *38 Grant Reeve              6  8 92 1:21.849 1:21.849! 0h09m05.243 + 0:26.661
  360. FL 1:21.849 Grant Reeve, Ace, 716 HP, SF 16384, FR 10.0, 100%
  361.  
  362. After the best laptime a '!' is added so fastest laps can be recognized if
  363. printing of fastest_laps entries is skipped. This will be reset for the race
  364. only, e.g. fastest laps in a pre-race practise won't have a '!' if there has
  365. been driven faster in qualify. If the laptime is an improvement of the
  366. personal best laptime, a '=' is added.
  367.  
  368. The fastest_lap entry starts with 'FL', followed by the time, the driver name,
  369. the opposition level, horsepower value, speed factor SF, frame rate FR, and
  370. finally a short session name (Prac, FrPr, Qual or PRPr) for non-race sessions,
  371. and the race distance in percentage for race sessions. If you happen to drive
  372. a fastest lap, and drive exactly the same laptime in another lap, a
  373. fastest_lap entry will be logged again.
  374. The speed factor (SF) is some sort of grip value for this particular car. For
  375. a player's car this value will almost always be equal to 16384. For computer
  376. cars it will be that too, unless you're using F1GP-Ed and you've specified a
  377. different speed factor, or you've installed the Local Speed Factor patch.
  378. In that case the SF value will be near or equal to F1GP-Ed's SF value, where
  379. slower computer cars will have a slightly lower speed factor.
  380.  
  381.  
  382.  
  383. Pitstop entries
  384. ---------------
  385.  
  386. Pitstops consist of a pair of entries. When a car comes in for a pitstop, a
  387. pits_in entry is logged (when the car is put onto the jacks):
  388.  
  389. %39 Rene Smit                2 22 90 Pits in  FW        0h03m48.073
  390.  
  391. If the car has damage, any broken wings are logged. 'FW' means the front
  392. wing, and 'RW' means the rear wing is broken.
  393.  
  394. When the car comes off the jacks, a pits_out entry is logged:
  395.  
  396. %39 Rene Smit                2 24 -- Pits out on C's    0h04m08.837 pit 20.764
  397.  
  398. The tyre compound is printed which was chosen from within the car during the
  399. pitstop, C-compound in this case. In the 'Difference' column the duration of
  400. the pitstop is printed, preceded by the word 'pit'. This time is about
  401. 0.5 seconds longer than the time you see from the cockpit.
  402.  
  403.  
  404. Retirement entry
  405. ----------------
  406.  
  407. If a car has a fatal crash, a retirement entry is logged, right at the moment
  408. of the impact:
  409.  
  410. *38 Grant Reeve              7 10 -- Fatal crash   35%  0h09m40.286 0:03, 0:30
  411.  
  412. The percentage tells you where the car has crashed on the track. So if it was
  413. exactly halfway through the lap, it will say the crash was at 50%.
  414. In the 'Difference' column are two times printed: the first one is the yellow
  415. flag delay, and the second one is the car removal delay. This should be an
  416. indication of how long it takes before the road is clear again.
  417. Note that if the car is involved in another fatal crash right after the first
  418. one, another entry is logged. If two cars fatally crash against each other,
  419. their entries contain the same session time.
  420. Normal crashes are not logged, but if there is a crash, the damage can be seen
  421. in the pits_in entry if the car drives into the pits.
  422.  
  423.  
  424.  
  425.  
  426. Tyre Grip
  427. =========
  428.  
  429. With each laptime entry and pits_in entry the tyre grip is logged. This
  430. value indicates the condition of your tyres, and it changes while you're
  431. driving. The grip has an initial ('cold') value which depends on the tyre
  432. compound, the track and the weather conditions (wet or dry).
  433. Here is a list of all cold values for all compounds:
  434.  
  435.  
  436.                               Dry conditions       Wet conditions
  437. Tracks                  A   B   C   D   Q(warm) W      Slicks  W
  438. -----------------------------------------------------------------
  439. 2,4,7,10,12,13,14,15    82  85  88  89  83(99)  78     01      57
  440. 3,1,6,8,9,11,16         81  84  86  88  82(98)  77     00      56
  441. 5                       80  83  85  87  80(96)  75     00      55
  442.  
  443.  
  444. I have added the 'warm' values for Q-compound tyres too, which gives the
  445. highest possible grip for that track. The optimum values for the other
  446. compounds can be extracted from the logfiles: while warming up the tyres
  447. the value will increase until they reach optimum grip. It will stay constant
  448. for a certain number of laps (this will influence your pit strategy) and
  449. drops at the moment the tyres are wearing out. It will then take a certain
  450. number of laps (depending on the track and compound) before the value drops
  451. below the cold value.
  452. From the example above you can see that in Phoenix the optimum grip for
  453. C's is 92. For all other race-compounds on all tracks the warm value is about
  454. 6 higher than the cold value too.
  455. In wet races the tyres don't warm up, so the grip value will then stay
  456. constant.
  457.  
  458. These grip values are not the original values that the game uses. I have
  459. scaled them to be between 0 and 99, taking slicks in the wet as a minimum
  460. and the highest possible Q value as a maximum. I did this to keep the output
  461. small and to make it more intuitive to read.
  462.  
  463.  
  464.  
  465. Credits
  466. =======
  467.  
  468. I would like to thank Grant Reeve for encouraging me and for making
  469. AGPLapMix. He is currently working on a graphical viewer for the logfiles,
  470. which will allow a much nicer view and quicker comparison of combined races.
  471. It will be released either seperately or with the next version of AGPLapTime.
  472.  
  473. Thanks also to Oliver Roberts for beta-testing.
  474.  
  475. Finally, thanks to Trevor Kellaway, who has made GPLap for the PC, which
  476. inspired me to make a logger for the Amiga too.
  477.